package com.ly.emp.bean.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 工分登记QO
 * </p>
 *
 * @author fzf
 * @since 2023-02-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Schema(description = "工分登记" )
public class TeamRationRegQO {

    @Schema(description = "主键集合" )
    private List<Long> idList;
    
    @Schema(description = "主键" )
    private String seqKey;

    @Schema(description = "录入模式" )
    private String addMode;

    @Schema(description = "周期编码" )
    private String periodCode;

    @Schema(description = "项目ID" )
    private String rationId;

    @Schema(description = "项目编码" )
    private String rationCode;

    @Schema(description = "项目名称" )
    private String rationName;

    @Schema(description = "开始日期" )
    //@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8" )
    private String beginDate;

    @Schema(description = "结束日期" )
    //@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8" )
    private String endDate;

    @Schema(description = "项目类型" )
    private String rationType;

    @Schema(description = "项目内容" )
    private String rationContent;

    @Schema(description = "标准分值" )
    private BigDecimal stdscore;

    @Schema(description = "积分计算单位" )
    private String unit;

    @Schema(description = "描述" )
    private String descr;

    @Schema(description = "工号" )
    private String psnNum;

    @Schema(description = "姓名" )
    private String psnName;

    @Schema(description = "组织编码" )
    private String orgCode;

    @Schema(description = "组织名称" )
    private String orgName;

    @Schema(description = "状态" )
    private String status;

    //班长不包含状态
    private String notStatus;

    @Schema(description = "分摊类型[暂时]" )
    private String dispatchtype;

    @Schema(description = "排序" )
    private BigDecimal displayOrder;

    @Schema(description = "考核单位" )
    private String suitUnit;

    @Schema(description = "归属部门标识" )
    private String sysDeptId;

    @Schema(description = "归属单位标识" )
    private String sysCompanyId;

    @Schema(description = "工作质量积分标准" )
    private String qstandard;

    @Schema(description = "积分分类(20  数量积分 10  质量积分 30  数量+质量积分)" )
    private String rationForm;

    @Schema(description = "功能模型" )
    private String functionModel;

    @Schema(description = "数据入口 self：self个人录入自己，self：leader 负责人录入，self： monitor 班组长录入" )
    @NotBlank(message = "人员类型不能为空" )
    private String self;

    @Schema(description = "统计类型" )
    private String statisticType;

    @Schema(description = "积分标准类" )
    private String categoryCode;

    @Schema(description = "积分标准类" )
    private String categoryName;

    @Schema(description = "系数1" )
    private String quotiety1CodeFrm;

    @Schema(description = "系数1value" )
    private BigDecimal quotiety1Frm;

    @Schema(description = "系数2" )
    private String quotiety2CodeFrm;

    @Schema(description = "系数2value" )
    private BigDecimal quotiety2Frm;

    @Schema(description = "系数3" )
    private String quotiety3CodeFrm;

    @Schema(description = "系数3value" )
    private BigDecimal quotiety3Frm;

    @Schema(description = "系数4" )
    private String quotiety4CodeFrm;

    @Schema(description = "系数4value" )
    private BigDecimal quotiety4Frm;

    @Schema(description = "系数5" )
    private String quotiety5CodeFrm;

    @Schema(description = "系数5value" )
    private BigDecimal quotiety5Frm;

    @Schema(description = "系数6" )
    private String quotiety6CodeFrm;

    @Schema(description = "系数6value" )
    private BigDecimal quotiety6Frm;

    @Schema(description = "工作工序" )
    private String workingProcedure;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" )
    @Schema(description = "标准作业时间" )
    private BigDecimal standardoPerationTime;

    @Schema(description = "标准作业人数" )
    private BigDecimal standardoPerationNum;

    @Schema(description = "连续工作折算系数" )
    private BigDecimal conversionCoefficient;

    @Schema(description = "连续工作折算台数" )
    private BigDecimal conversionUnits;

    @Schema(description = "工作说明" )
    private String workExplReg;

    @Schema(description = "工作地点" )
    private String workplace;

    @Schema(description = "工作地点编码" )
    private String workplaceCode;

    @Schema(description = "工作地系数" )
    private String workplaceQuotiety;

    @Schema(description = "实际作业人数" )
    private BigDecimal operationNum;

    @Schema(description = "附件名称" )
    private String fileName;

    @Schema(description = "附件类型" )
    private String fileType;

    @Schema(description = "附件ID" )
    private String fileCode;

    @Schema(description = "附件地址" )
    private String fileUrl;

    @Schema(description = "附件地址" )
    private String filePath;

    @Schema(description = "审核日期" )
    private Date auditDate;

    @Schema(description = "完成日期" )
    private Date closeDate;

    @Schema(description = "数据源" )
    private String dataSource;

    @Schema(description = "录入人员" )
    private String sysUpdatorId;

    @Schema(description = "录入人员" )
    private String sysCreatorId;


}